#include <iostream>
#include <string.h>
#include <cassert>
using namespace std;

// 创建一个指定大小的 char 类型数组
char* createArray(int size)
{
    // 通过断言判断数组大小是否大于0
    assert(size > 0);	// 必须大于0, 否则程序中断
/*    1.assert: 1.assert.cpp:10: char* createArray(int): Assertion `size > 0' failed.
已放弃 (核心已转储)*/
    char* array = new char[size];
    return array;
}

int main()
{
    char* buf = createArray(0);
    // 此处使用的是vs提供的安全函数, 也可以使用 strcpy
    strcpy(buf, "hello, world!");
    cout << "buf = " << buf << endl;
    delete[]buf;
    return 0;
}


/* 作者: 苏丙榅
链接: https://subingwen.cn/cpp/static_assert/
来源: 爱编程的大丙
著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。 */